home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 26
/
Cream of the Crop 26.iso
/
bbs
/
dctvd040.zip
/
DCTVOTE.TXT
< prev
next >
Wrap
Text File
|
1997-05-25
|
28KB
|
579 lines
▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄
DCT Voting Door v0.40, ßeta Release
By Dan Traczynski
May 25, 1997
Copyright (C) 1996, 1997 Dan Traczynski. All rights reserved.
▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀
DCT-Vote is a deluxe voting door for any BBS software which supports the
DORINFO1.DEF or DOOR.SYS drop file. Setup is amazingly fast and easy, and
the voting door will be FreeWare until v1.0, after which it will become
shareware.
▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄
──═══════════════════──
Table of Contents
──═══════════════════──
Features ................................... o1
Installation ............................... o2
SCRUTIL.EXE Explained ...................... o3
SysOp Hotkeys .............................. o4
Distribution & Disclaimer .................. o5
Credits/Acknowledgments .................... o6
Author's Notes and Support Info ............ o7
History - Notes from the Past .............. o8
▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄
o1
──═════════════════════════════════──
Features of the DCT Voting Door
──═════════════════════════════════──
-■- Supports both DORINFOx.DEF and DOOR.SYS allowing it to be run on
virtually any bulletin board system.
-■- User time-out after a configurable amount of time.
-■- Auto-Deletion of old booths.
-■- Fully run by lightbars!
-■- Problem users can be locked out.
-■- Language support (not all of us speak English ;).
-■- External ANSI file support.
-■- Full-featured validation system allowing the SysOp to filter the
unwanted booths out before they're made publicly available.
-■- Optional user censor (allowing you to filter out swearing).
-■- Bar graphs/percentages when displaying results.
-■- Users may leave their comments on each booth.
-■- Colour configuration.
-■- Internal SysOp-User full-screen chat mode.
-■- DCT-Vote can be set to have users vote for all new booths when they
login.
-■- Users may be given vote points and vote for more than one answer.
-■- Multi-tasker capability.
▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄
o2
──════════════════════──
Installation Guide
──════════════════════──
Installation is extremely simple; all you must do is create a directory
for DCT-Vote, then run CONFIG.EXE to configure DCT-Vote to your system. You
may also wish to edit DCTVOTE.FLT if you will be using the censor, as no
words have been pre-defined to filter out. DCT-Vote does not have to be run
from the directory it resides in, since it automatically looks for all of its
files in its home directory. Have your BBS call DCT-Vote via a command-line
similar to "C:\BBS\DOORS\DCTVOTE\DCTVOTE.EXE /PC:\BBS". The "/P" parameter
specifies the path for DCT-Vote to read the drop file from and is only
required if the drop file will not be in the current directory. If your BBS
supports memory swapping, please activate this option.
If you would like to have your users presented with any new voting booths
when they login, have DCT-Vote executed at login with the "/A" parameter for
a command-line similar to "C:\BBS\DOORS\DCTVOTE\DCTVOTE.EXE /PC:\BBS /A".
DCT-Vote will have users vote for all new booths that they have not yet voted
for, then return to the BBS automatically. If no new booths exist, DCT-Vote
will terminate without even letting the user know that it has been run. You
may also specify "/A2" instead of "/A", and that would simply tell the user
how many questions he has not yet voted on, then ask him if he would like to
vote for them. This way people would realize that the booths are there, but
they are not forced into them. You may also specify "/A3" which acts the same
as "/A" but does not let users abort the voting (they can't hit ESC).
Command-Line Parameters
─────────────────────────
/A[1..4] ·∙· Invoke AutoVote (1=Vote for all new booths,
2=Prompt then vote,
3=Force users to vote on new booths,
4=Tell how many unvoted booths there are).
If no number is specified, it defaults to "1".
/Bxxx ·∙· Specify locked baud rate (i.e. /B38400).
/Fxxx ·∙· Load alternate .IDX & .ASR files than the default ones. For
example, specifying "/FMOVIES" would load & use MOVIES.IDX/ASR.
/L ·∙· Local mode (logs in with the SysOp's name).
/Nx ·∙· Specify node number (not really needed unless you want it to
read DORINFO2.DEF for node 2 etc).
/Pxxx ·∙· Specify path to drop file (i.e. /PC:\BBS).
/Sxxx ·∙· Specify user's security level. This overrides anything that
is specified in the drop file.
/W ·∙· A DOS only network is present.
Language Support
──────────────────
New in v0.20, support has been added so that all strings can be modified
which allows the door to be translated into a different language altogether.
All of the internal strings can be modified from within CONFIG.EXE, and the
following imbedded codes may be used in the language strings.
%U User's name.
%B Title of the current booth being voted on. On language prompts that
would appear in places such as the main menu, this code is "undefined".
%H Number of booths user hasn't voted for yet.
%A Number of active booths.
%S Board name.
%T A temporary string that varies with each language prompt.
%L Name of the user's currently selected language.
User logging is always done in the language that is configured as the
default one in CONFIG.EXE, even if a user selects a different language file.
▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄
o3
──═══════════════════════──
SCRUTIL.EXE Explained
──═══════════════════════──
SCRUTIL.EXE is the program which will allow you to customise the
way DCT-Vote looks to the users. It is completely command-line driven,
and will import or export ANSI images to/from the screen definition
file.
Command-Line Parameters
─────────────────────────
SCRUTIL [Def File] [/?] [/CREATE] [/ADD <Screen> <File Name>]
[/EXTRACT <Screen> <File Name>] [/IMPORT [Ctl File]]
[/EXPORT [Ctl File]]
[Def File]
The definition file is the image file that SCRUtil will work with
and what DCT-Vote will load and use. If it is not specified, the
default DCTVOTE.VDS will be used.
[/?]
Displays a brief help screen summarising the commands.
[/CREATE]
Creates a default definition file with no images in it. It is
then up to you to add the images in.
[/ADD <Screen> <File Name>]
This option will add an ANSI file into the definition file. The
<screen> variable is the image number that the ANSI file will be added
as. <File name> specifies the ANSI file to add.
[/EXTRACT <Screen> <File Name>]
This option is the reverse of ADD. Instead of adding the ANSI,
SCRUtil will extract it and save it as <file name>.
[/IMPORT [Ctl File]]
This option will allow you to import a group of images at once. In
order to do this, you must first create a control file listing all of
the file names and image numbers. The format is the same as with the
ADD parameter. If [Ctl File] is not specified, the default SCRUTIL.CTL
is used. The following is a sample control file:
0 SCR\HDR.ANS
1 SCR\FTR.ANS
2 SCR\MHELP.ANS
4 SCR\PROGINFO.ANS
7 SCR\LOGO.ANS
If this were the file, HDR.ANS would be added as image 0, FTR.ANS as
image 1, and so on.
[/EXPORT [Ctl File]]
This parameter is the reverse of the IMPORT parameter, and takes
the same arguments as the IMPORT parameter. If the above sample
control file were used, image 0 would be exported to HDR.ANS, image 1
would be exported to FTR.ANS, and so on. A sample SCRUTIL.CTL file
has been included with this archive.
Imbedded Codes
────────────────
There are two different types of imbedded codes that may be used
in the image files. The first type is a simple "@" followed by a
character, and the second is an "@" followed by a character, a string,
then the terminating pipe (|) character. Explanations follow.
@1..@D
These codes will change the colour to one configured in CONFIG.
They represent the following colours:
@1 Uppercase Characters
@2 Lowercase Characters
@3 Numbers
@4 Punctuation
@5 Hi-ASCII
@6 Stick/Add Answer
@7 Border Lines
@8 Information Fields
@9 Lightbar Foreground
@A Lightbar Background
@B Highlight
@C Disabled Options
@D Plain Text
@V
This code is converted to a four-character representation of the
current DCT-Vote version.
@K<string>|
This code allows you to have text printed to the screen in the
multicoloured scheme. For example, "@KHello!|" is the equivalent of
"@1H@2ello@4!"
@R<string>|
This code will allow you to write strings using the border line
colour scheme. That way, a code such as "@R─────────|" would print the
line randomly alternating between one colour and its bright counterpart
(ie. red and bright red).
▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄
o4
──═══════════════──
SysOp Hotkeys
──═══════════════──
SysOp hotkeys allow you to do a number of things while the user is in the
door. Hotkeys supported in this release are as follows.
F1 ·∙· Shows the SysOp hotkeys on the status bar.
Alt∙C ·∙· Invokes the internal full-screen SysOp-User chat mode.
Alt∙T ·∙· Twits User. Returns user back to the BBS.
PgUp ·∙· Adds 5 minutes to the user's alloted time in the door.
PgDn ·∙· Removes 5 minutes of the user's time in the door.
▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄
o5
──═══════════════════════════──
Distribution & Disclaimer
──═══════════════════════════──
DCT-Vote is copyright (C) 1996, 1997 by Dan Traczynski. All rights
reserved. I encourage you to distribute it, but DO NOT by any means alter
any of the files within the original archive. The archive should be named
DCTVD040.ZIP, preferably kept in its ZIP format.
The author, Daniel Traczynski, will take no responsibility to anything
that this program may or may not do to your system. Although the program has
been tested thoroughly by the support team, no guarantee can be given that it
will do what it was made to do. Nevertheless, if anything should happen, the
user is totally responsible and the author will be under no obligations what-
soever. By using this program you agree to this disclaimer.
▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄
o6
──════════════════════════════──
Credits and Acknowlegments
──════════════════════════════──
I'd like to thank the following people, in no particular order, for their
support in my making of this program.
-■- Alan Ianson for his support of my programs.
-■- Francois Massonneau for his great ideas. My gratitude goes out to him
for writing the French language file, as well as putting DCT-Vote on his
web page for people to download.
-■- Javier Gil for writing the Spanish language file.
-■- Brandon Swartz/LoF for the great DCT-Vote logo seen in the background of
CONFIG.
-■- Philip Wright for all of his great suggestions and bug reports.
▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄
o7
──════════════════════════──
Author's Notes/Support
──════════════════════════──
Many of the features that I add to this door are requests made by SysOps,
so if you would like to see a new feature added to this door, by all means
send me e-mail and I will try to add in your request. I can be reached at
dct@nm.canbbs.net. If you do not have internet e-mail access, I can also be
contacted via the FidoNet RA_Util echo or by netmail at 1:153/737 or
1:153/757.
This will probably be the last freeware version before the voting door
becomes shareware. You may use this freeware version for as long as you wish
to if you choose not to register any future shareware versions.
DCT-Vote and other DCT Productions can be found on the Internet at:
http://www.worldnet.net/~island/dct.htm
Many thanks go to Francois Massonneau for putting this on his web page.
▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄
o8
──═══════════════──
Release Notes
──═══════════════──
The DCT-Vote project began on December 27, 1995. The first public beta
release was on April 17, 1996.
+ Added a new feature/Something was improved.
- Removed something.
* General comment.
> Bug fix.
Version 0.40ß -=- May 25, 1997.
> Corrected the error that was causing a DCTVOTE.LOG file to be created in
the current directory.
- Removed /V parm.
* Cleaned up a lot of the coding, resulting in a smaller, more efficient
executable.
- DCT-Vote now requires that a FOSSIL driver be loaded when running
remotely. Local mode does not require one to be loaded.
> DCT-Vote would exit with a runtime error if there were more than 255
users in its internal userbase. Fixed.
> Fixed a few display bugs.
* People with SysOp access may now leave an unlimited number of comments
per booth (users only get to leave one per booth).
+ Added a validation system to DCT-Vote. This feature is designed so that
if users are creating stupid booths, you can set DCT-Vote to "hide" the
new booths from the users until you have validated them (or deleted them
if you don't want the booths there). When a booth is not validated, only
the creator of that booth and anyone with SysOp access will be informed
of its existence and be given the option to view it.
+ DCT-Vote can now check for duplicate answers.
+ Improved the way DCT-Vote lets the user create a booth.
+ Increased the maximum answers per question limit.
+ The language editor in DCT-Vote has been improved and now fits in better
with the rest of the configuration program.
+ Some screens have been changed and new prompts have been added here and
there.
+ Added a user editor to CONFIG as well as user flags (so you can restrict
access to certain options by individual settings as well as by security).
Also added a "remove comments" feature to the user editor, so if you have
a user who comes along and defaces all of your booths, a simple [Alt-R]
will remove all of his comments rather than going into each booth and
manually removing each comment.
+ Added support for a SysOp-defined user interface. The external ANSI
files used in previous versions are now compiled into one single screen
definition file for speed and to conserve disk space.
+ Added a proper maintenance procedure; inactive users can now be deleted.
+ If Ctrl-R is pressed, the screen will now be redrawn no matter what
prompt the user is at.
Version 0.30ß -=- August 22, 1996.
* French characters such as 'é', 'à', 'è', etc. are now displayed in the
colour that is configured as lowercase rather than high-ASCII.
> If you hit ESC when locking out a user, DCT-Vote would act as if you hit
<Enter> and still add any string entered to the lockout file. Fixed.
> If the SysOp broke into chat on a spinning stick prompt, the screen
would not redraw. Fixed.
* CONFIG.EXE has been rewritten, and now has a pull-down menu interface.
+ The booth editor has some new features.
+ Four more colours may now be configured.
> Fixed a few display bugs when some language prompts were changed.
+ Added %L language code.
* DCT-Vote no longer needs to be told what drop file to use. It now simply
searches for both DORINFOx.DEF and DOOR.SYS and loads the first one it
finds or terminates if neither exist.
+ Users may now change their handles and select their own language files,
but user logging is still done in the language specified as the default
language.
+ If a user changes his alias, DCT-Vote can optionally change all comments
by this user to his new alias.
+ Added an "author" field to each language file, so if anyone translates
the file to another language, they can take credit for it.
+ Added /S, /F, and /A4 command-line parameters.
+ Users may now delete booths that they have created if the SysOp allows
it.
+ Lightbars are now supported when selecting a booth.
* After viewing the results of a booth, the user is taken back to the
booth selection menu rather than the main menu.
+ Users may now be given vote points which allows them to spread their
votes out over more than one answer.
+ Comments on booths may now be viewed and removed through CONFIG.EXE.
+ DCT-Vote may now be set to present only a certain number of new booths
to the user during AutoVote. This feature comes in useful if a new user
logs in and has to vote for 30 new booths before being able to access the
system. Setting a value of '5' would then spread the booths out over
multiple logins, with a maximum of five booths being presented each time.
+ Added the log file viewer to the configuration program.
+ The time and date format in the log file have been changed.
Version 0.20ß -=- June 16, 1996.
> If a user was at the spinning stick prompt and the SysOp hit a function
key or other SysOp hotkey, the stick would stop spinning. Fixed.
> If a user "Voted for all booths" and hit ESC to stop voting on them
after voting on the first one, the "press any key" prompt would not be
displayed right. Fixed.
> If a user was in AutoVote mode and answered "No" to the "Vote for next
booth?" prompt, the "would you like to create your own booth?" string
would not be displayed. Fixed.
+ Added language support.
+ Added the external ANSI file support.
> If censoring mode was enabled, it would not filter anything entered on
the second line of the question in each booth. Fixed.
+ DCT-Vote can now optionally prompt the user to confirm his voting
selection.
+ If the drop file says that the user doesn't have ANSI turned on, DCT-Vote
checks to make sure and lets him in if the user's terminal program
has ANSI capabilities.
+ The input strings now allow cursor editing keys as well as support word
wrap.
+ Added an INUSE.FLG file so there shouldn't be any more runtime errors on
multi-node systems.
+ Added the internal SysOp-User full-screen chat mode.
+ Users may now add more than one answer per booth if the SysOp allows it.
+ Added /A2 and /A3 parameters.
+ If the censor is enabled, any text is now filtered out as the user enters
it rather than after he hits [Enter] on the string.
+ Users with SysOp access may now view the results of a booth before voting
for it, however the unvoted booths are dimmed out so as to show him which
booths he hasn't voted for yet and which ones he did.
+ Added word wrap to the log file so the lines in the log should never go
past the end of the screen any more.
> Fixed a bug where DCT-Vote would return the locked baud rather than the
caller's baud rate when DOOR.SYS was selected as the drop file.
+ Users may now add comments using aliases they have selected.
+ The voting results screen is now displayed line by line rather than first
the left column, then the answer box (it just looks better this way :).
* Removed the date-check routine that many of you will soon be noticing in
v0.11. =)
+ Added the booth editor.
+ You may now force users to vote for a booth (they can't hit ESC). This
is, of course, a SysOp-only feature (and can only be turned on in the
booth editor :).
+ The spinning stick may now be configured. This little feature really
makes the door look different. One interesting possibility is to make
the string "█▓▒░ " which gives a pulsing effect and does away with the
stick completely.
+ Improved the colour configuration menu.
+ Made a slight change to the DCT-Vote logo in the main menu.
Version 0.11ß -=- April 17, 1996.
* This version is mainly just a bug fix from v0.10 and also contains a few
new things that I forgot to add in the previous version or never got
around to adding.
> The user time-out wouldn't activate if a user was at a spinning stick
prompt; the stick would just spin endlessly until he hit a key or ran
out of time. Fixed.
* If no booths exist (ie. a new copy was just installed), DCT-Vote now
creates a default booth. I just felt like doing this. :)
> Fixed a bug in the voting results screen where the title would sometimes
not be displayed properly.
+ DCT-Vote now shows the user which answer he voted for when displaying the
voting results.
+ DCT-Vote now shows the user when the booth was created in the voting
results.
> If the SysOp had the AutoVote feature in use and a user whose terminal
didn't support ANSI entered, DCT-Vote would display to them the message
telling them they didn't have ANSI. It now simply exits without
bothering the user about it every time s/he logs in.
+ DCT-Vote will now allow users to create a new voting booth when they
login using the AutoVote feature.
> Fixed a bug in the string entry prompts.
> If the user left a comment on a booth whose question was two lines, the
"Press any key to continue" prompt would be displayed on the bottom
border line and mess up the display. Fixed.
+ Users can't just hit [Enter] on the first answer in AutoVote any more
(it forces them to think about which answer to choose now >;).
+ Added colour configuration.
> Fixed a bug where DCT-Vote would sometimes crash if you tried deleting a
booth and comments had been written on it.
> Booths being deleted during maintenance were destroying the data files,
making the whole voting door have to be reset. This has been fixed. :}
+ Added an error handler. If a runtime error occurs, it will be logged in
the log file.
> If a user left a comment that was 5 lines long, DCT-Vote would not save
the last line. Fixed.
Version 0.10ß -=- February 17, 1996.
* There have been MANY changes in this version from the previous one,
though many of them won't even be seen by the users. Setup and
installation for the SysOp should be much easier now.
> If a booth was deleted and the comment file was empty, the program would
terminate with a runtime error. Fixed.
+ If there are booths which the user hasn't voted for yet, DCT-Vote now
tells them that in the main menu.
+ Added the user time-out. If the user doesn't press anything for 120
seconds, s/he is returned to the BBS.
+ Added the AutoVote feature.
+ The docs look a *LOT* better now. :)
> Oooh. Bad bug. On one BBS, when you hit a cursor key on the remote end,
DCT-Vote would act as if the user hit [ESC] because it didn't wait long
enough to see if more characters had been sent. (When the user hits a
cursor key, the terminal program sends ASCII character #27 followed by
"[A" or whatever the code is, and DCT-Vote didn't wait long enough for
the "[A" part.)
+ You may now hit the first letter of the option in the SysOp menu as well
as the number. I did this to the main menu a few versions back but
somehow missed doing it in the SysOp menu.
+ Finally! I made a configuration program, so you won't have to worry
about the messy text configuration file any more. Not all of the
features within it have been implemented yet.
+ Users may now post booths anonymously if the SysOp allows it. Please
keep in mind that if you have SysOp access, DCT-Vote will show you who
created the booth when voting, but to regular users it simply says
"Posted By: Anonymous".
* Made a little change to the voting results screen regarding the
percentage bar.
+ Fixed up the string entry prompts a bit.
+ Made a few subtle changes to the Yes/No prompt.
+ Improved the program info screen.
Version 0.06ß -=- January 25, 1996.
* After releasing v.05 to be ßeta tested, I found a few bugs. This version
has all of the bug fixes.
> OOPPS!! There was a little bug where DCT-Vote wouldn't let users move
the lightbar onto the "create new booth" if they didn't have SysOp
access. They could still create booths by hitting "3" though.
> If the user's name was only one word, DCT-Vote would add a trailing space
character to it. Fixed.
Version 0.05ß -=- January 23, 1996.
> Fixed the spinning stick in the "Press any key" prompts. It worked fine
locally, but remotely it screwed up with some terminal programs.
+ Added the user comments.
+ Added the "@" random filter character macro.
+ Added a minimum security level to create a booth.
+ You may now hit the first letter of the option in the main menu as well
as the number.
+ If the user enters an invalid booth number, it now informs him of that
instead of returning to the main menu.
> If a user whose terminal program doesn't support ANSI enters the door,
DCT-Vote will now display a message to him informing him that he must
have ANSI capabilities.
Version 0.01ß -=- January 7, 1996.
* Initial release of DCT-Vote.
▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀■▄■▀